home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / documents / OpenGL / opengldoc / glspec / misc_attribute.spec < prev    next >
Encoding:
Text File  |  1996-11-11  |  3.8 KB  |  138 lines

  1. Name
  2.  
  3.     EXT_misc_attribute
  4.  
  5. Version
  6.  
  7.     $Date: 1996/04/02 00:08:10 $ $Revision: 1.2 $
  8.  
  9. Number
  10.  
  11.     31
  12.  
  13. Dependencies
  14.  
  15.     None
  16.  
  17. Overview
  18.  
  19.     EXT_misc_attribute extends the list of attribute groups. It provides
  20.     a miscellaneous group, controlled by the MISC_BIT_EXT bit, that contains
  21.     the attribute state of extensions that don't logically fit in any other
  22.     group. 
  23.  
  24. Reasoning
  25.  
  26.     In general, an extension's attributes are assigned to a similar
  27.     attribute group. If an extension is developed that doesn't fit in
  28.     any of the GL's existing attribute groups, the extension's attributes
  29.     should be added to the miscellaneous group.
  30.     
  31.     The GL sample implementation incorrectly checks the bits in
  32.     the <mask> argument to PushAttrib and glXCopyContext,
  33.     generating an error if any unused bits are set. This
  34.     behavior causes interoperability problems between GLs with
  35.     different sets of attribute groups. This error checking
  36.     should be removed from all implementations. The reference
  37.     to this error checking should also be removed from the GLX
  38.     specification.
  39.  
  40.     Because of the bit checking described above, ALL_ATTRIB_BITS
  41.     can't include MISC_BIT_EXT without risking GL interoperability
  42.     problems. Not including MISC_BIT_EXT changes the semantics of
  43.     ALL_ATTRIB_BITS, but is considered the lesser of two evils.
  44.     These problems should be fixed in the next GL version.
  45.  
  46. New Procedures and Functions
  47.  
  48.     None
  49.  
  50. New Tokens
  51.  
  52.     MISC_BIT_EXT
  53.  
  54. Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
  55.  
  56.     None
  57.  
  58. Additions to Chapter 3 of the 1.0 Specification (Rasterization)
  59.  
  60.     None
  61.  
  62. Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
  63. and the Frame Buffer)
  64.  
  65.     None
  66.  
  67. Additions to Chapter 5 of the 1.0 Specification (Special Functions)
  68.  
  69.     None
  70.  
  71. Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
  72.  
  73.     The command
  74.  
  75.     void PushAttrib(bitfield mask)
  76.  
  77.     takes a bitwise OR of symbolic constants indicating which groups of
  78.     state variables to push onto an attribute stack. Each constant refers
  79.     to a group of state variables. The single symbolic constant
  80.     GL_ALL_ATTRIB_BITS can be used to copy all of the attribute groups defined
  81.     by the core GL. Additional extension attribute groups cannot be copied
  82.     using GL_ALL_ATTRIB_BITS. To copy these groups, check to see that the GL
  83.     implementation supports the extension, then use a bitwise OR to set
  84.     the appropriate bit(s) in <mask>.
  85.  
  86.  
  87. (Table 6.1 (Attribute Groups).)
  88.  
  89.     Attribute            Constant        ALL_ATTRIB_BITS
  90.     ---------            --------        ---------------
  91.  
  92.     accum-buffer        ACCUM_BUFFER_BIT    yes
  93.     color-buffer        COLOR_BUFFER_BIT    yes
  94.     current            CURRENT_BIT        yes
  95.     depth-buffer        DEPTH_BUFFER_BIT    yes
  96.     enable            ENABLE_BIT        yes
  97.     eval            EVAL_BIT        yes
  98.     fog                FOG_BIT            yes
  99.     hint            HINT_BIT        yes
  100.     lighting            LIGHTING_BIT        yes
  101.     line            LINE_BIT        yes
  102.     list            LIST_BIT        yes
  103.     pixel            PIXEL_MODE_BIT        yes
  104.     point            POINT_BIT        yes
  105.     polygon            POLYGON_BIT        yes
  106.     polygon-stipple        POLYGON_STIPPLE_BIT    yes
  107.     scissor            SCISSOR_BIT        yes
  108.     stencil-buffer        STENCIL_BUFFER_BIT    yes
  109.     texture            TEXTURE_BIT        yes
  110.     transform            TRANSFORM_BIT        yes
  111.     viewport            VIEWPORT_BIT        yes
  112.     miscellaneous        MISC_BIT_EXT        no
  113.     -                ALL_ATTRIB_BITS        -
  114.  
  115.  
  116. Additions to the GLX Specification
  117.  
  118. (In the glXCopyContext description)
  119.  
  120.     The single symbolic constant GL_ALL_ATTRIB_BITS can be used to
  121.     copy all of the attribute groups defined by the core GL. Additional
  122.     extension attribute groups can not be copied using GL_ALL_ATTRIB_BITS.
  123.     To copy these groups, check to see that the GL implementation supports
  124.     the extension, then use a bitwise OR to set the appropriate bit(s) in
  125.     <mask>.
  126.  
  127. Errors
  128.  
  129.     None
  130.  
  131. New State
  132.  
  133.     None
  134.  
  135. New Implementation Dependent State
  136.  
  137.     None
  138.